package com.drg.center.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.guaike.core.mybatis.entity.BasePO;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 患者病例主表
 * </p>
 *
 * @author system
 * @since 2025-01-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("drg_patient_case_out")
public class DrgPatientCaseOutPO extends BasePO {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 病例号
     */
    private String caseCode;
    /**
     * 病例类型（1:低倍率病例，2:高倍率病例）
     */
    private Integer caseType;
    /**
     * 是否超支病例
     */
    private Boolean overCost;
    /**
     * 是否质控问题病例
     */
    private Boolean problemCase;
    /**
     * 是否预警病例
     */
    private Boolean warnCase;
    /**
     * 医保类型（1:患者费别变更，2:贵重药品用药，3:医保自费项目，4:医保限门诊项目，5:医保限工伤项目，6:医保限专项目，7:医保单项材料超千元项目，8:医保限二专项目，9:医保辅助治疗项目）
     */
    private Integer medicalType;
    /**
     * 是否以0000组上传（0:否，1:是）
     */
    private Boolean isNone;
    /**
     * 医保drg代码
     */
    private String drgCode;
    /**
     * 住院号
     */
    private String inpatientCode;
    /**
     * 床位号
     */
    private String bedCode;
    /**
     * 出院科室编号
     */
    private String departCode;
    /**
     *  出院科室名称
     */
    private String departName;
    /**
     * 主治医生编码
     */
    private String doctorCode;
    /**
     * 主治医生姓名
     */
    private String doctorName;
    /**
     * 就诊日期
     */
    private LocalDateTime visitDate;
    /**
     * 慢特病门诊科室编号
     */
    private String specialDepartCode;
    /**
     * 慢特病门诊科室名称
     */
    private String specialDepartName;
    /**
     * 慢特病就诊日期
     */
    private LocalDateTime specialVisitDate;
    /**
     * 上传医保时间
     */
    private LocalDateTime uploadTime;
    /**
     * 是否上传医保（0：否，1：是）
     */
    private Boolean status;
    /**
     * 总费用
     */
    private BigDecimal totalCost;
    /**
     * 结算费用
     */
    private BigDecimal settleCost;
    /**
     * 药品费用
     */
    private BigDecimal medicineCost;
    /**
     * 耗材费用
     */
    private BigDecimal consumablesCost;
    /**
     * 住院费用
     */
    private BigDecimal inHospitalCost;
    /**
     * 手术费用
     */
    private BigDecimal operationCost;
    /**
     * 麻醉费用
     */
    private BigDecimal anesthesiaCost;
    /**
     * 检查费用
     */
    private BigDecimal inspectCost;
    /**
     * 检验费用
     */
    private BigDecimal testCost;
    /**
     * DRG付费标准
     */
    private BigDecimal drgCostStandard;
    /**
     * 费用偏差
     */
    private BigDecimal costOffset;
    /**
     * CHS-DRG编码
     */
    private String chsDrgCode;
    /**
     * CHS-DRG名称
     */
    private String chsDrgName;
    /**
     * 入院日期
     */
    private LocalDateTime inHospitalDate;
    /**
     * 出院日期
     */
    private LocalDateTime outHospitalDate;
    /**
     * 出院情况（1:治愈，2:好转，3:未愈，4:死亡，9:其他）
     */
    private Integer outCondition;
    /**
     * 结算日期
     */
    private LocalDateTime settleDate;
    /**
     * 结算期间开始日期
     */
    private LocalDate settleStartDate;
    /**
     * 结算期间结束日期
     */
    private LocalDate settleEndDate;
    /**
     * 医保报销金额
     */
    private BigDecimal reimburseCost;
    /**
     * 自付金额
     */
    private BigDecimal selfCost;
    /**
     * 结算业务流水号
     */
    private String businessNo;
    /**
     * 医保支付方式（1.按项目，2.单病种，3.按病种分值，4.疾病诊断相关分组DRG，5.按床日，6.按人头，9.其他）
     */
    private String payType;
    /**
     * 医疗机构填报部门
     */
    private String submitDept;
    /**
     * 医疗机构填报人
     */
    private String submitPerson;
    /**
     * 住院天数
     */
    private Integer inpatientDays;
    /**
     * 医疗类型（1.住院，2.日间手术）
     */
    private String treatType;
    /**
     * 治疗类别（1.西医，2.中医-2.1中医；2.2.民族医，3.中西医）
     */
    private String treatClass;
    /**
     * 入院途径（1.急诊，2.门诊，3.其他医疗机构转入，9.其他）
     */
    private String intoChannel;
    /**
     * 呼吸机使用时间
     */
    private String ventilatorUseTime;
    /**
     * 入院前颅脑损伤病人昏迷时间
     */
    private String beforeComaTime;
    /**
     * 入院后颅脑损伤病人昏迷时间
     */
    private String afterComaTime;
    /**
     * 输血品种
     */
    private String transBloodVariety;
    /**
     * 输血量
     */
    private String transBloodQuantity;
    /**
     * 输血计量单位
     */
    private String transBloodUnit;
    /**
     * 特级护理天数
     */
    private Integer premiumCareDays;
    /**
     * 一级护理天数
     */
    private Integer firstCareDays;
    /**
     * 二级护理天数
     */
    private Integer secondCareDays;
    /**
     * 三级护理天数
     */
    private Integer thirdCareDays;
    /**
     * 离院方式（1.医嘱离院，2.医嘱转院、转社区、转卫生院机构，3.非遗嘱离院，4.死亡，9.其他）
     */
    private String outType;
    /**
     * out_type为2时，拟接收机构代码
     */
    private String acceptCode;
    /**
     * out_type为2时，拟接收机构名称
     */
    private String acceptName;
    /**
     * 是否有离院31天再住院计划（0:否，1:有）
     */
    private Boolean isContinue;
    /**
     * 再住院目的
     */
    private String continuePurpose;
    /**
     * 门诊中医诊断
     */
    private String chinaDiagnosis;
    /**
     * 门诊中医诊断疾病代码
     */
    private String chinaDiseaseCode;
    /**
     * 门诊西医诊断
     */
    private String westernDiagnosis;
    /**
     * 门诊西医诊断疾病代码
     */
    private String westernDiseaseCode;
    /**
     * 医疗收费json
     */
    private String costTreatInfo;
    /**
     * 基金支付json
     */
    private String fundPayInfo;
    /**
     * 个人支付json
     */
    private String personPayInfo;
    /**
     * 是否医保拒付
     */
    private Boolean protestStatus;
    /**
     * 拒付金额
     */
    private BigDecimal protestMoney;
    /**
     * 拒付原因
     */
    private String protestReason;
    /**
     * 拒付备注
     */
    private String protestRemark;
    /**
     * 拒付日期
     */
    private LocalDate protestDate;



}
